Identification of refactoring opportunities introducing polymorphism
نویسندگان
چکیده
Polymorphism is one of the most important features offered by object-oriented programming languages, since it allows to extend/modify the behavior of a class without altering its source code, in accordance to the Open/Closed Principle. However, there is a lack of methods and tools for the identification of places in the code of an existing system that could benefit from the employment of polymorphism. In this paper we propose a technique that extracts refactoring suggestions introducing polymorphism. The approach ensures the behavior preservation of the code and the applicability of the refactoring suggestions based on the examination of a set of preconditions. 2009 Elsevier Inc. All rights reserved.
منابع مشابه
Assessing the Quality of Refactoring Patterns for Introducing Design Patterns
Refactoring is a well-known process to improve the code design of object-oriented programs. Recently, several literatures focus on refactoring with introducing design patterns that are general repeated solutions to common problems in software design. For making it easy to perform such refactoring, a lot of refactoring patterns are proposed. Each refactoring pattern includes a description of ref...
متن کاملAutomated refactoring to the Strategy design pattern
Context: The automated identification of code fragments characterized by common design flaws (or ‘‘code smells’’) that can be handled through refactoring, fosters refactoring activities, especially in large code bases where multiple developers are engaged without a detailed view on the whole system. Automated refactoring to design patterns enables significant contributions to design quality eve...
متن کاملIdentifying refactoring opportunities in object-oriented code: A systematic literature review
Context: Identifying refactoring opportunities in object-oriented code is an important stage that precedes the actual refactoring process. Several techniques have been proposed in the literature to identify opportunities for various refactoring activities. Objective: This paper provides a systematic literature review of existing studies identifying opportunities for code refactoring activities....
متن کاملIdentification of extract method refactoring opportunities for the decomposition of methods
The extraction of a code fragment into a separate method is one of the most widely performed refactoring activities, since it allows the decomposition of large and complex methods and can be used in combination with other code transformations for fixing a variety of design problems. Despite the significance of Extract Method refactoring towards code quality improvement, there is limited support...
متن کاملMaintainability versus Performance: What's the Effect of Introducing Polymorphism ?
The notion of refactoring —transforming the sourcecode of an object-oriented program without changing its external behavior— has been embraced by many objectoriented software developers as a way to accommodate changing requirements. If applied well, refactoring improves the maintainability of the software, however it is believed that it does so at the sake of performance. To investigate this tr...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید
ثبت ناماگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید
ورودعنوان ژورنال:
- Journal of Systems and Software
دوره 83 شماره
صفحات -
تاریخ انتشار 2010